1. Field of Invention
The invention relates to an improved method of printing documents with a printer from a computer, and to apparatus and systems adapted for use of this approach. In particular, the invention relates to more efficient use of processor resources in the printing of documents.
2. Background Art
A conventional printing process from a computer is rendered schematically in FIG. 1. The document is generated on computer 8—this may be for example a personal computer, a workstation, or substantially any other device with a processor on which documents may be held or processed and which are connectable with a printer for producing a hard copy of the electronically held document. Typically, the document will be generated by an application 1, such as a word processing program or a spreadsheet. The document will generally be provided by the application 1 in a printer independent form 5.
This printer independent form of the document 5 is sent to a print driver 2. The print driver 2, which is typically customised to a particular model or make of printer, takes this printer independent form of a document and converts it into a printer specific page description 6 which conforms to the printer's page description language (PDL). The printer driver 2 may also add information about the job (of printing the document), such as for example the number of copies, binding options or duplex options. This job information is provided in a job control language (JCL). In common page description languages such as Postscript (a Registered Trade Mark of Adobe Systems Incorporated), certain job information is mixed into the description of a page, as will be described further below.
The printer specific page description 6 (including any job information) is then sent to print spooler 3. The print spooler 3 is a mechanism for handling communication between the computer 8 and the printer 9 which is responsible for printing the print job. The printer specific page description is sent at the appropriate time from the print spooler 3 according to whatever protocols apply to the transport connection 7 between the computer 8 and the printer 9, and is received by the printer processor 4. The printer processor 4 observes the stream of PDL and JCL that it receives from the print spooler 3, and controls the printer to generate printed pages accordingly.
It should be noted that certain of the resources associated with the computer (in particular the print spooler 3) may not themselves be a physical part of the computer 8, but instead a part of a computer network to which both the computer 8 and the printer are attached. For convenience, throughout this specification such components associated with the computer and not specifically a part of the printer will be referred to as “of the computer”.
A difficulty in conventional printing systems of this type is that the demands on the printer processor 4 can be very heavy at certain times, and very light at others. For example, consider a print job in which 1 in every 20 pages require a group of unusual fonts to be synthesised together. This synthesis results in a computational load too great for the printer processor to complete within the time normally allocated to the processing of a single page. If the fonts are not already present (for example, held in a cache on the printer) the result will be that the printer stalls (the paper feed pipeline is halted while the printer processor synthesises the necessary characters, and then restarted thereafter). Such stalls can be very expensive in resource consumption for typical modern printers: such a pipeline may be many pages long, and a printer drum may need to be brought back up to temperature before paper can again be fed through the marking engine of the printer. Such circumstances could lead to a halving of print capacity. Situations of this general type (areas which require high consumption of resources scattered among areas which are not so computationally demanding) are common.
A mechanism for improving printer performance has been proposed by Peerless Systems (The Hard Copy Observer, September 1998, page 39) which involves deciding whether to render a page on a personal computer and then send it to the printer in TIFF format as an alternative to sending a page to the printer in the normal manner. This allows particularly complex pages to be processed by the personal computer rather than the printer, balancing the load between the two—however, this means that the overall complexity of print processing increases somewhat (with the personal computer taking on a significant additional processing load). An effective improvement to printer performance is provided, but only by shielding the printer from “difficult” pages.
It would be desirable instead to improve the use of processor resources by the printer itself to improve printer processor effectiveness and so prevent stalling and possibly also increase printing speed.